#ifndef __DEADPROXYFRMEVENTUPDATECLIENTBOX_h__
#define __DEADPROXYFRMEVENTUPDATECLIENTBOX_h__

#ifndef WX_PRECOMP
	#include <wx/wx.h>
#else
	#include <wx/wxprec.h>
#endif



class wxGUIEvent : public wxNotifyEvent 
{
    public:
        wxGUIEvent(wxEventType commandType=wxEVT_NULL, int id = 0);
        wxGUIEvent(const wxGUIEvent &clone) : wxNotifyEvent(clone)
        {
            this->str1 = clone.str1;
            this->str2 = clone.str2;
            this->str3 = clone.str3;
            this->str4 = clone.str4;
            this->param1 = clone.param1;
            this->param2 = clone.param2;
            this->param3 = clone.param3;
            this->param4 = clone.param4;
            this->param5 = clone.param5;
            this->param6 = clone.param6;
            this->param7 = clone.param7;
            this->param8 = clone.param8;
        }
    
        virtual wxEvent *Clone() const
        {   return new wxGUIEvent(*this);     }
    
        virtual ~wxGUIEvent();
        
        void SetStr1(wxString * str);
        void SetStr2(wxString * str);
        void SetStr3(wxString * str);
        void SetStr4(wxString * str);
        wxString * GetStr1();
        wxString * GetStr2();
        wxString * GetStr3();
        wxString * GetStr4();
        void SetParam1(int param);
        void SetParam2(int param);
        void SetParam3(int param);
        void SetParam4(int param);
        void SetParam5(int param);
        void SetParam6(int param);
        void SetParam7(int param);
        void SetParam8(int param);
        int GetParam1();
        int GetParam2();
        int GetParam3();
        int GetParam4();
        int GetParam5();
        int GetParam6();
        int GetParam7();
        int GetParam8();
    private:
        wxString * str1;
        wxString * str2;
        wxString * str3;
        wxString * str4;
        int param1;
        int param2;
        int param3;
        int param4;
        int param5;
        int param6;
        int param7;
        int param8;

    DECLARE_DYNAMIC_CLASS(wxGUIEvent)
};

#define wxUPDATE_CLIENT_BOX_ID      11002
#define wxUPDATE_PACKET_BOX_ID      11003
#define wxINIT_CLIENT_SELECT_ID     11004

#define wxSET_PACKET_STRING_ID      11005

#define wxUPDATE_MESSAGE_BOX_ID     11006
#define wxSET_MESSAGE_INFO_ID       11007

#define wxUPDATE_CHANNEL_BOX_ID     11008

#define wxUPDATE_MINICLIENT_ID      12001

DECLARE_EVENT_TYPE(wxEVT_UPDATE_CLIENT_BOX, wxUPDATE_CLIENT_BOX_ID)
DECLARE_EVENT_TYPE(wxEVT_UPDATE_PACKET_BOX, wxUPDATE_PACKET_BOX_ID)
DECLARE_EVENT_TYPE(wxEVT_UPDATE_MINICLIENT, wxUPDATE_MINICLIENT_ID)
DECLARE_EVENT_TYPE(wxEVT_INIT_CLIENT_SELECT, wxINIT_CLIENT_SELECT_ID)
DECLARE_EVENT_TYPE(wxEVT_SET_PACKET_STRING, wxSET_PACKET_STRING_ID)
DECLARE_EVENT_TYPE(wxEVT_UPDATE_MESSAGE_BOX, wxSET_MESSAGE_ARRAY_ID)
DECLARE_EVENT_TYPE(wxEVT_SET_MESSAGE_INFO, wxSET_MESSAGE_INFO_ID)
DECLARE_EVENT_TYPE(wxEVT_UPDATE_CHANNEL_BOX, wxUPDATE_CHANNEL_BOX_ID)

typedef void (wxEvtHandler::*wxGUIEventFunction)(wxGUIEvent&);

#define EVT_UPDATE_CLIENT_BOX(winid, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_UPDATE_CLIENT_BOX, winid, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxGUIEventFunction) & fn, (wxObject *) NULL ),
#define EVT_UPDATE_PACKET_BOX(winid, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_UPDATE_PACKET_BOX, winid, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxGUIEventFunction) & fn, (wxObject *) NULL ),
#define EVT_UPDATE_MINICLIENT(winid, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_UPDATE_MINICLIENT, winid, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxGUIEventFunction) & fn, (wxObject *) NULL ),
#define EVT_INIT_CLIENT_SELECT(winid, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_INIT_CLIENT_SELECT, winid, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxGUIEventFunction) & fn, (wxObject *) NULL ),
#define EVT_SET_PACKET_STRING(winid, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_SET_PACKET_STRING, winid, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxGUIEventFunction) & fn, (wxObject *) NULL ),
#define EVT_UPDATE_MESSAGE_BOX(winid, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_UPDATE_MESSAGE_BOX, winid, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxGUIEventFunction) & fn, (wxObject *) NULL ),
#define EVT_SET_MESSAGE_INFO(winid, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_SET_MESSAGE_INFO, winid, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxGUIEventFunction) & fn, (wxObject *) NULL ),
#define EVT_UPDATE_CHANNEL_BOX(winid, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_UPDATE_CHANNEL_BOX, winid, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxGUIEventFunction) & fn, (wxObject *) NULL ),
#endif
